package com.dhcc.bpm.modules.scf.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.modules.scf.dto.ScfSubjectBasicInfoDTO;
import com.dhcc.bpm.modules.scf.entity.ScfSubjectBasicInfo;
import com.dhcc.bpm.modules.scf.vo.ScfSubjectBasicInfoVO.ScfGetSubjectDetailsVO;
import com.dhcc.bpm.modules.scf.vo.ScfSubjectBasicInfoVO.ScfGetSubjectListVO;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

/**
 * 主体基本信息-Mapper接口
 */
@Repository
public interface ScfSubjectBasicInfoMapper extends BaseMapper<ScfSubjectBasicInfo> {
    /**
     * 自定义分页
     *
     * @param page
     * @param scfSubjectBasicInfo
     * @return
     */
    List<ScfGetSubjectListVO> selectScfSubjectBasicInfoPage(IPage<ScfGetSubjectListVO> page, ScfSubjectBasicInfoDTO scfSubjectBasicInfo);

    /**
     * 自定义查询详情
     * @param scfSubjectBasicInfo
     * @return
     */
    ScfGetSubjectDetailsVO getDetails(String rowId);

    /**
     * 根据主体编号rowId查询主体角色
     *
     * @param rowId
     */
    String getRoleByRowId(String rowId);

    /**
     * 获取主体对应贸易总额
     *
     * @param subNum
     * @return
     */
    BigDecimal selectTotalSalesAmount(String subNum);

    /**
     * 根据主体编号查询主体名称
     *
     * @param rowId
     * @return
     */
    String selectNameBySubNum(String rowId);

    /**
     * 根据主体名称查询主体编号
     *
     * @param subName
     * @return
     */
    String selectSubNumBySubName(String subName);

    boolean deleteByIds(String[] ids);
}
